ContextCaptureユーザーガイド

3MXファイル

3MXには、シーンに関する一般的情報がJSONフォーマットで含まれています。JSONフォーマットが採用されているのは、Webクライアントによる処理と解析が容易だからです。

3MXフォーマットのファイルには次の内容があります。
  • 3mxVersion – ファイルのバージョン番号(浮動小数点数)
  • name – シーン名(utf-8文字列)
  • description – シーンの説明(utf-8文字列)。
  • HTMLタグを含むことはできますが、改行を含むことはできません。
  • logo – シーンの所有者のロゴを表す画像(JPGまたはPNG)の相対パス。
  • sceneOptions – シーンの表示オプションの集合。
  • layers – さまざまなタイプのデータを含む1つまたは複数のレイヤ。シーン内に存在する幾何形状はこれらのレイヤで記述されます。

sceneOptionsタグは、アプリケーションの表示用に予約されています。アプリケーション関連のオプションを定義するために、カスタムフィールドを追加することもできます。

レイヤコレクション中の各レイヤは、IDとタイプを持つ必要があります。タイプに依存するデータを、レイヤの説明に追加することができます。

図4に、3MXの構成の概要を示します。

3MXシーンファイルのフォーマット

現時点では、3MXで宣言されるレイヤのタイプはmeshPyramidだけです。meshPyramidレイヤは、固有の3Dテクスチャ付き角錐メッシュを3MXB形式で記述します。

meshPyramidレイヤ

meshPyramidタイプのレイヤには、次のタグのセットが含まれます。
id   レイヤのID(utf-8文字列)。
type: meshPyramid レイヤのタイプ。
name   レイヤ名(utf-8文字列)。
description   レイヤの説明(utf-8文字列)。
SRS   空間参照系(utf-8文字列)。座標付けされたデータだけに必要です。「空間参照系(SRS)について」も参照してください。
SRSOrigin: [O0, O1, O2] 指定したSRSでのモデルの原点(float32の配列)。指定したSRSでの点の正しい座標は、P = Pmesh + SRSOriginです。オプション。
root   ルート3MXBファイルの相対パス(utf-8文字列)。

完全な3MXシーンファイルの例を次に示します。

{
"3mxVersion": 1,
"name":"Marseille",
"description":"Marseille was generated using InterAtlas‘ oblique imagery system. ",
"logo":"interatlas_logo.png",
"sceneOptions":[{"navigation_mode":"PAN"}],
"layers": 
[
     {
"type":"meshPyramid",
"id":"mesh0",
"name":"Marseille",
"description":"This is a description of the model. It should be between quotation marks.",
"SRS": "EPSG:32631",
"SRSOrigin": [692625,4798280,0],
"root": "Data/Marseille.3mxb"
    }
  ]
}

シーンレイヤに含まれるルートを使用することで、ルート3MXBファイルから始めて、幾何形状をロードすることができます。